﻿using System;

namespace FlashPay.Entity.Response.Payment
{
    /// <summary>
    /// 付款记录
    /// </summary>
    public class DepositRecordResponse
    {
        /// <summary>
        /// 收款匹配编号
        /// </summary>
        public string DepositMatchId { get; set; }

        /// <summary>
        /// 订单号
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 公司编号
        /// </summary>
        public int CompanyId { get; set; }

        /// <summary>
        /// 公司名称
        /// </summary>
        public string CompanyName { get; set; }

        /// <summary>
        /// 公司英文名称
        /// </summary>
        public string CompanyNameEn { get; set; }

        /// <summary>
        /// 客户单号
        /// </summary>
        public string WithdrawalOrderNo { get; set; }

        /// <summary>
        /// 付款银行
        /// </summary>
        public string BankName { get; set; }

        /// <summary>
        /// 付款姓名
        /// </summary>
        public string CardName { get; set; }

        /// <summary>
        /// 付款卡号
        /// </summary>
        public string CardNumber { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public string WithdrawalAmount { get; set; }

        /// <summary>
        /// 存款时间
        /// </summary>
        public DateTime? DepositDate { get; set; }

        /// <summary>
        /// 付款结果(未付款 = 1，付款成功 = 2，付款失败 = 3，付款中 = 4，取消付款 = 5)
        /// </summary>
        public sbyte PaymentStatus { get; set; }

        /// <summary>
        /// 客户姓名
        /// </summary>
        public string WithdrawalAccountName { get; set; }

        /// <summary>
        /// 客户银行
        /// </summary>
        public string WithdrawalBankName { get; set; }

        /// <summary>
        /// 客户卡号
        /// </summary>
        public string WithdrawalCardNumber { get; set; }

        /// <summary>
        /// 通知状态(未通知 = 1，通知成功 = 2，通知失败 = 3，通知中 = 4，状态为”通知中”时，旁边加”重置”按键 ex：，用于”重置”通知状态为”未通知”)
        /// </summary>
        public sbyte NoticeStatus { get; set; }

        /// <summary>
        /// 通知状态(未通知 = 1，通知成功 = 2，通知失败 = 3，通知中 = 4，状态为”通知中”时，旁边加”重置”按键 ex：，用于”重置”通知状态为”未通知”)
        /// </summary>
        public string NoticeStatusString { get; set; }

        /// <summary>
        /// 通知时间
        /// </summary>
        public string NoticeLastDate { get; set; }

        /// <summary>
        /// 通知次数
        /// </summary>
        public int? NoticeTimes { get; set; }

        /// <summary>
        /// 存款等级
        /// </summary>
        public string DepositType { get; set; }

        /// <summary>
        /// 客户附言(收款)
        /// </summary>
        public string PostScript { get; set; }
        /// <summary>
        /// 交易类型(收款)
        /// </summary>
        public int TransType { get; set; }

        /// <summary>
        /// 确认状态(未处理 = 1，自动审核通过 = 2，人工审核通过 = 3，人工审核拒绝 = 4)
        /// </summary>
        public sbyte ConfirmStatus { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateDbdate { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string DepositRemark { get; set; }

        /// <summary>
        /// 时间差(分)
        /// </summary>
        public double TimeDifference { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string ReadDate { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string MakeUpPermission { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string ChangeCompanyPermission { get; set; }
    }
}
